home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
United Public Domain Gold 4
/
United Public Domain Gold 4.iso
/
tbag
/
tb014.dms
/
tb014.adf
/
Doc-Files
/
Utilities
/
ARP.Doc
< prev
next >
Wrap
Text File
|
1987-11-29
|
45KB
|
2,526 lines
INTRODUCTION October 7, 1987
_T_h_e__P_r_o_b_l_e_m
Take an exciting new computer, with state of the art
graphics and sound hardware and software, add a multi-
tasking kernal, and then add a DOS that doesn't work well
with the rest of the system. This makes software less
reliable, harder to develop, and results in more headaches
and more expense for programmers and users alike.
_T_h_e__S_o_l_u_t_i_o_n
The solution is ARP, which stands for "AmigaDOS
Replacement Project". ARP is an effort led by Charlie
Heath of Microsmiths, Inc. to replace the current DOS in a
compatible fashion, so that current programs will continue
to work, but making whatever improvements are possible, so
that current and future programs will work better.
_W_h_y__i_s__A_R_P__b_e_t_t_e_r_?
Well, that is what this entire little manual is
about, but in brief, ARP replacement programs are
typically much smaller and much faster than their AmigaDOS
equivalents. It is not unusual to find ARP programs which
are less than half the size of the program they are
intended to replace. This translates immediately into disk
space and memory savings for you, both precious
commodities on the Amiga. In addition, ARP programs often
have enhanced features, and can do things the original DOS
programs simply can't. Finally, and perhaps most
importantly, they conform to clearly defined Amiga system
standards for Amiga software, so developers don't have to
handle a lot of special cases, which will help all Amiga
software.
_I__n_e_v_e_r__u_s_e__t_h_e__C_L_I_,__w_h_y__s_h_o_u_l_d__I__c_a_r_e__a_b_o_u_t__A_R_P_?
If you truly never use the CLI, then the impact of
ARP will be less apparent to you. But you will realize
big savings in memory and disk space. In addition, with a
more standard software environment for developers,
software reliabilty will increase, and as software becomes
easier to write for the Amiga, prices of important
(*) Though I may be more visible than Scott Ballantyne, who
wrote this manual and much of the ARP library and programs,
he has certainly been as important as I have in developing
ARP.
...cheath
- 2 -
software will be less than they would be in a difficult
development environment.
_H_o_w__m_u_c_h__i_s__i_t__g_o_i_n_g__t_o__c_o_s_t__m_e_?
It will cost you the duplication cost of a disk, or a
connect fee to a network to download it. Many busy
programmers worked hard on ARP, donating large amounts of
their time in an effort to make the Amiga a better place
to work and play. The emphasis here is on improving the
Amiga environment, so that future software will work
better, not on separating you from your money. (That
comes later, when you buy all that neat software that ARP
made so much easier to develop.)
_C_a_n__I__g_i_v_e__i_t__a_w_a_y_?
You sure can, and we encourage you to distribute it
as widely as possible.
_I__a_m__a__d_e_v_e_l_o_p_e_r_,__c_a_n__I__i_n_c_l_u_d_e__i_t__o_n__m_y__c_o_m_m_e_r_c_i_a_l__d_i_s_k_s_?
Yes, you can and should. All we ask of commercial
users of ARP is that if you use any portion of the
arp.library in your software (and we hope you will),
please include the rest of the ARP replacement programs as
well.
ARP User's Manual October 7, 1987
Wherein we present some of the truly outstanding features
of the new ARP programs, attempting to point the way for
new users of ARP to take immediate advantage of the ARP
software.
1. _G_e_n_e_r_a_l__F_e_a_t_u_r_e_s__o_f__A_R_P__P_r_o_g_r_a_m_s
Since one of the goals of ARP is to make the Amiga
easier for you to use, we tried as hard as we could to
make it possible for you to install ARP, and continue to
use previously written batch files without any change at
all. Additionally, you should be able to use the ARP
programs immediately, without learning anything more about
them, since the degree of compatibility is very high.
However, ARP programs are generally enhanced and improved,
and generally much easier to use. To take advantage of
these new features, you have to learn about them, so read
on!
1.1 _C_o_n_s_i_s_t_a_n_c_y__o_f__t_h_e__A_R_P__p_r_o_g_r_a_m_s
One of the problems with the original AmigaDOS
programs was that they are too inconsistant. Some
programs accepted 10 or 20 filenames, and also allowed you
to use wildcards to specify files. Some programs accepted
multiple files, but didn't allow wild cards. And some
programs accepted only one filename. We have tried to fix
this in ARP. Where it is reasonable to expect to be able
to supply multiple arguments to a program, we have
provided that capability. Where it is reasonable to
expect to be able to use wildcards, we have provided that
capability also. We have attempted to make the command
templates for programs more consistant as well, allowing
abbreviations for commonly used switches and options.
This consistant command interface provides a lot of
power. As a simple example, consider the problem of
dumping a lot of files to your printer for a quick
reference. Let's say you want to send all the files in
the current directory which end in ".c" to the printer.
Due to the ARP command structure, there are no less than
three ways to do this, and all of them use remarkably
- 2 -
similar command lines:
1> Type #?.c to PRT:
1> Copy #?.c to PRT:
1> Join #?.c to PRT:
Incidentally, we also supply a more standard set of
wildcards, in addition to the ones in use on the Amiga, so
you could also do
1> Type *.c to PRT:
1> Copy *.c to PRT:
1> Join *.c to PRT:
If you were to try the same thing using the AmigaDOS
programs, you would be in for a rude shock. First, let's
try type:
1> Type #?.c to PRT:
Can't open #?.c
It appears that the AmigaDOS type doesn't understand
wildcards. Well, let's try Copy:
1> Copy #?.c to PRT:
Destination must be a directory
Cute, Copy lets you use wildcards, but then you can't copy
anything to the printer. It turns out that the only way
to send all your files to the printer is to specify each
one in full. And if you wanted to use the special
capabilities of Type, for example, to add line numbers to
the files as you print them out, you are reduced to
multiple Type commands, since the AmigaDOS type only
accepts one argument. Using the ARP Type, you can supply
multiple arguments, and each argument can contain
wildcards.
The main point to notice here is how ARP provides you
with a consistant command environment. Because the ARP
programs don't impose artificial limitations, each command
is more powerful and more useful. And because ARP
programs strive to be consistant with each other, you
- 3 -
don't have to remember silly special cases, and can apply
what you have learned about one program to a new one. For
example, having noticed that Copy, Join and Type all allow
wildcards, you can probably assume that a command like
Rename does as well, and you would be correct. As another
example of the increased power of ARP, let's say you
wanted to move the three files memo1, memo2 and memo3 to a
directory on the same disk called OLD_MEMOS. Using
AmigaDOS, you would have to do it this way:
1> Rename memo1 OLD_MEMOS
1> Rename memo2 OLD_MEMOS
1> Rename memo3 OLD_MEMOS
This kind of thing can get old pretty quickly. Using the
ARP Rename, you would simply do
1> Rename memo? OLD_MEMOS
The '?' is of course a wildcard that matches any single
character.
2. _C_o_m_m_a_n_d_s__a_n_d__T_e_m_p_l_a_t_e_s
When we spoke to Amiga users, one of the things they
liked about the current Amiga programs were the use of
command templates to specify the arguments to a program.
Since people liked this, and it seemed like a good idea,
we kept it in ARP. We extended and modified individual
templates for commands, and we also have an extended help
feature. Under AmigaDOS, if you supply a question mark (?)
as the first argument to a command, it presents you with
its command template, and waits for you to hand it some
arguments. The same thing is true of ARP programs, but if
you need even more information, just type another question
mark when you get the template, like this:
1> Type ?
FROMA,,,,,,,,,,TOK,OPTK: ?
Type [upto 10 files] To outfile OPT <H(ex) N(umbers)>
FROMA,,,,,,,,,,TOK,OPTK:
The first thing Type gives you when you supply a question
mark is its command template. If that is not enough
- 4 -
information for you (for example, if you forget what
options you can pass to type), typing another question
mark after you get the template causes an additional help
message to be displayed, and then the template is
reprinted, and the command waits again for you to supply
it with some arguments. This allows you to get extra help
for commands you don't use often, and not be bothered by a
lot of information for commands that you do use a lot.
Another thing ARP tries hard to do is to give
informative error messages. For example, when you type
the following under AmigaDOS:
1> Echo "Hello World!
Bad Args to Echo
You get a not too helpful message. The same action using
the ARP echo would cause:
1> Echo "Hello World!
Bad Args: Unmatched quotes
ARP attempts to help you identify the problem, so you can
fix it more rapidly. As under AmigaDOS, you can supply
arguments to ARP programs using either keywords, or using*
positions:
1> Type infile
1> Type FROM infile
1> Type FROM infile TO outfile
1> Type OPT h TO outfile FROM infile
All of the above will work. In addition, if you make an
error:
__________
* The template keywords are given in upper case only for
clarity - you can use any case you like.
- 5 -
1> Type FROM
Bad Args: Keyword needs an argument
or
1> Type infile From outfile
Bad Args: Bad positional argument
the ARP programs once again attempt to help you diagnose
the problem. In the first example, you specified a file by
keyword (the FROM), but left off the filename. (If you
really wanted to type a file by the name of FROM, you need
to use double quotes, for example, Type "FROM". ARP
programs, like AmigaDOS programs, assume that names inside
of quotes are filenames and not template keywords.) In
the second case, you gave the first argument twice, once
by position, and then by keyword. Type doesn't know what
you mean, since you appeared to have misused a positional
argument.
3. _E_s_c_a_p_e_s
One source of incompatibility between ARP programs (note)
and the AmigaDOS programs they are intended to replace is
that AmigaDOS programs regard an asterisk inside of quotes
as an 'escape' character, one that has a special meaning.
Because so many people wanted support for the asterisk as
a wildcard something had to go, since the usages would
conflict - any given program wouldn't be able to tell
whether you meant to use the asterisk as a wildcard or as
an escape character. Since, in addition, the use of the
"*" as an escape character was an undocumented feature of
AmigaDOS, we decided it was worthwhile to sacrifice
compatibility on that score. So if you are one of those
people that discovered the "*" usage of AmigaDOS, you
won't be able to use batch files with that kind of
character in it without some editing.
ARP supports escapes, in fact, ARP escapes are much
more flexible than AmigaDOS escapes, which the ARP escapes
include as a subset. The ARP escape character* is a
backslash (\), so the only editing you should have to
__________
* Actually, you can select your own escape character if
it matters that much to you, see the ARP Programmers
Manual for more information.
NOTE - We reverted to using BCPL-compatible * as the
escape char in V1.0 of arp.library; if you prefer to
use \, there will be a setup program for V1.1
- 6 -
perform on your batch scripts which use AmigaDOS escapes
is to replace the asterisks (*) with backslashes (\).
ARP recognizes the following characters as special
'escape' characters:
\N Newline
\T Horizontal Tab
\V Vertical Tab
\B Backspace
\R Return
\F Formfeed
\E Escape (ascii 27)
\Xnn Hex number nn
ARP programs (like AmigaDOS) programs, will only recognize
the escape character inside of double quotes*, so if you
want to use escapes, you must also use the double quotes.
To include a single backslash inside of quotes, you need
to use two of them, like this "\\". You can also include
double quotes inside of double quotes, by escaping them as
well, for example, "\"Inside Quotes\"". As usual, of
course, the special escape characters can be either upper
or lower case. If you use hex digits, there can be one or
two of them, and they can also be either upper or lower
case. Escapes can be very convenient to use, for example,
to advance your printer paper to the next sheet, you can
do:
1> Echo >PRT: "\F"
Which sends a formfeed to the printer. You should
generally be careful about using escapes in filenames,
since this can lead to confusion. One place escape
characters might be appropriate is in Filenotes, for
example:
__________
* An exception to this is Echo, which always escapes its
arguments. This is inconsistant, perhaps, but it
turns out to be very convenient.
- 7 -
1> Filenote "Filename" "\X9B7mReverse Print Comment\X9B0m"
Which will cause the filenote to List in reverse print
when you display it, making it stand out more clearly.
4. _A_R_P__a_n_d__W_i_l_d_c_a_r_d_s
ARP has an extensive set of wildcards, and most ARP
programs allow them to be used. ARP supports ALL of the
AmigaDOS set of wildcards, as well as the more standard
Unix* style of wildcards. ARP supports the following
wildcard characters, note that these are valid inside or
out of quotes:
(a|b|c) Will match one of a, b or c.
These can be patterns.
? Matches any single character
#<pat> Pattern repeated 0 or more times,
in particular, #? matches anything.
[char] A set of characters, for example,
[abc] or [a..c] specify the same set.
[^char] Match everything but this set of characters.
* 0 or more occurances of any character.
These can be used in combination, of course, so that
*.(c|h) or *.[ch] will match any filenames ending in
either .c or .h preceeded by any number of characters,
including no characters.
In addition, ARP allows wildcards to be used at
multiple levels of a directory hierarchy. For example, if
you want to type all the files in all the directories of
your INCLUDE directory, you could use
__________
* Unix is a trade mark of AT&T.
- 8 -
1> Type DF0:Include/*/*
Which will take care of things nicely. You can be more
selective, for example only typing files that start with T
in directories that start with E:
1> Type DF0:Include/E*/T*
But the best way to get used to the increased power of the
ARP wildcard system is to sit down and enjoy using it.
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
AddBuffers - Increase the sector cache for system disk
drives.
SYNOPSIS
AddBuffers Drive numbufs D2 B2 D3 B3 D4 B4
DESCRIPTION
This command increases the number of disk buffers used by
the system for disk drive access. By increasing the number
of buffers, you can reduce disk access time at the cost of
losing memory to the sector cache. The ARP version of
AddBuffers allows you to specify up to four pairs of drive
number of buffers in one command. AddBuffers DF0: 15
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Assign - Binds a device name to a directory.
SYNOPSIS
Assign NAME: DIRECTORY <total of 10 pairs> LIST/S
DESCRIPTION
Assign causes NAME: to be a synonym for DIRECTORY or
Pathname. This is refered to as a "logical" device, since
it appears to the amiga and the user as a device, but is in
fact a directory. You can use this as a convenient short
hand to refer to lengthy pathnames, or to refer to a variety
of different directories by the same name (just change the
assignment when you want the program to change directories).
You can remove assignments by giving only NAME:, without a
directory path to assign it to. Typing Assign by itself, or
Assign LIST, will display the current logical assignments.
EXAMPLE
ASSIGN DICTIONARY: df1:usr/lib/dictionary DICTIONARY: may
now be used as a synonym for the complete path
df1:usr/lib/dictionary. If a program uses the logical
device DICTIONARY: rather than a hardcoded directory name,
then changing the DICTIONARY: assignment will change the
dictionary that the program will use.
ARP EXTRAS
Up to 10 pairs of Assignments may be made with one command.
CAUTIONS
Random or careless assignments of the Amiga's pre-assigned
devices can cause mass confusion.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Break - Send a signal to a background process.
SYNOPSIS
Break <task> <all> <c> <d> <e> <f>
Description
Many programs which run from the CLI will respond to the
typing of one of the control characters C D E or F. By far
the most common is control-C which usually causes a process
to terminate. If you execute a task in the background (by
using Run), you will not be able to send it a break signal
from the keyboard, and that is where Break comes in. Once
you know the task number of the process you wish to signal
(available immediately after you run the process or by using
the Status program), you can send one of these control
signals to the background process.
EXAMPLE
To send a control C to background process number 2:
Break 2 C or Break 2 (Break defaults to control C)
To send ALL control signals to background process number 3
Break 3 C D E F or Break 3 ALL
CONSIDERATIONS
Not all programs respond to break requests.
SEE ALSO
Status
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
CD - Report or change the current directory.
SYNOPSIS
CD DIR
DESCRIPTION
CD when given a valid directory name, makes that directory
the current or default working directory. To display the
current directory, type CD without any arguments. (For a
really nifty way to do this, see the ARP prompt
replacement).
EXAMPLE
CD DF0:LIBS change directory to df0:libs
CD report current directory
SEE ALSO
Prompt
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
ChangeTaskPri - Change a tasks execution priority
SYNOPSIS
ChangeTaskPri <pri> TASK <num>
DESCRIPTION
By increasing/decreasing the priority of various tasks in
the system, you can increase/decrease the amount of time
each is run per quantum. The ARP version of this command
checks the value of your priority, and also allows you to
change task priorities of currently running tasks. This
should be performed with care. If no task number is
entered, this command uses the currently executing task.
EXAMPLE
ChangeTaskPri -5 TASK 3
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Delete - Delete up to ten files or directories.
SYNOPSIS
Delete [up to 10 names] ALL QUIET ASK
DESCRIPTION
Delete deletes the names you specify, if there is a problem
with the deletion delete will inform you. If you wish to
delete a directory that contains other files, you must use
the ALL switch. As with most ARP commands that deal with
Files, you can specify a wildcard pattern in any or all of
the positions.
ARP also allows you to interactively delete the files by
specifying the ASK switch. If you use ASK, delete will
display the files one by one, with a question mark. If you
type 'Y' followed by return, the file will be deleted, and
the next one will be displayed. Any other character will
not cause the file to be deleted.
If you use wildcards, Delete will display the names of the
files as they are deleted. You can prevent this by using
the QUIET switch.
EXAMPLE
Delete * or Delete #? Delete all files in the
current directory
Delete * ASK or Delete * A Ask about deleteing each file
in the current directory.
Delete file1 file2 file3 Delete file1 file2 and file3
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
DiskChange - Inform AmigaDOS that a disk has been changed in
a drive.
SYNOPSIS
DiskChange DRIVE
DESCRIPTION
5 1/4 inch disks do not detect when there has been a disk
swap, and therefore cannot inform AmigaDOS. After changing
disks in the 5 1/4 inch disk drive, issue the command
DiskChange.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Echo - Displays its argument(s) to the terminal.
SYNOPSIS
Echo This String or Echo "This String"
DESCRIPTION
Echo displays its argument to the current output, this can
be the printer, a file or the terminal. Echo is typically
used in Batch files, but it can also be used (and useful) to
send escape sequences to things like printers.
ARP's Echo does not require quotes, and it is also the only
ARP command that will recognize escapes in both quoted and
unquoted strings.
EXAMPLE
Echo "Hello World!" displays Hello World on the terminal
Echo >PRT: \FHello World! advances the printer paper, and
displays Hello World! on the printer.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Failat - To set a fail level for a batch file.
SYNOPSIS
Failat <numeric> to set a new fail level
Failat to display the current fail level
DESCRIPTION
When using Execute to run batch files, any command that
returns an error greater than the current value of the Fail
level will cause execute to stop with an error message. You
can use Failat to increase or decrease this level to
whatever you like. If you use Failat inside of a batch
file, the fail level is set for that file only. If you use
Failat directly from the CLI, you set a global fail level.
EXAMPLE
Failat 30 ; bump fail level
This now makes it possible to execute commands that return
error codes greater than 20, which would ordinarily cause
Execute to stop with an error message.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Filenote - Sets a comment for a file
SYNOPSIS
Filenote "FILENAME" "COMMENT"
DESCRIPTION
You can set a comment for a file of upto 80 characters using
this command. You can also remove the comment for a file
using this command by specifying a null comment string.
Comments may be viewed with the list command.
EXAMPLE
Filenote "Echo" "Echo displays strings"
Filenote "Echo" "" ; removes the comment
PROBLEMS
There are several bugs associated with the AmigaDOS filenote
which have not yet been fixed in this release of ARP. For
example, if you copy a file the filenote will not be copied.
If you write over a file, the old filenote will remain.
These bugs will be fixed in a later release of the copy
program.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
IF - test for conditionals in batch files
SYNOPSIS
IF <condition to test for>
DESCRIPTION
You can use this command to provide some logic for batch
files. You can test for the presence of a file using the
EXISTS <filename> keyword, you can compare two strings for
equality (disregarding case) using the EQ keyword ( "string"
EQ "string") you can test for the previous programs return
codes WARN >= 5, ERROR >= 10, FAIL >= 20. You can also
combine any one of these commands with NOT, which inverts
the result. I.E., if a file does exists, then NOT EXISTS
<file> will return FALSE, and cause the IF to fail. When IF
fails, it moves the execution of the file ahead to the next
ELSE or ENDIF command. ELSE and ENDIF are bound to the most
recent IF.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Info - report information about each disk.
SYNOPSIS
Info
Description
This command takes no arguments, but displays important and
useful information about each disk unit. It is important to
note that the ARP info command fixes a bug in the AmigaDOS
Info. ARP's info displays formatted capacity, which is
generally more useful than the information AmigaDOS gives
you. Therefore, the values for total capacity in this info
command will be less than that in the AmigaDOS info.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Join - To combine upto 15 files to form a new file.
SYNOPSIS
Join f1 f2 f3 f4.... AS UltimateFile
DESCRIPTION
This program combines several files into one larger file,
which may be a device such as a printer or modem. Like most
ARP commands, it accepts wildcards as its arguments. This
command will alphabatize the wildcarded filenames before
using them.
ADDITIONAL CONSIDERATIONS
Given the added capabilities of the ARP Type program, Join
is pretty useless and could be dispensed with. It is
included for backward's compatibility with batch scripts.
NOTE
The one advantage of Join is that it runs a bit faster
when you join large files.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Lab - Define a label for Skip
SYNOPSIS
Lab label_name
DESCRIPTION
Lab is used to define a label for use with skip. Lab by
itself defines a null label.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
MakeDir - Create upto ten new directories
SYNOPSIS
MakeDir dir1 dir2 ... dir10
DESCRIPTION
MakeDir creates a new directory with the name you give. Up
to 10 directories may be created at one time. Note that you
cannot duplicate directories at the same level of the
directory tree.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Path - Set the CLI search path for executable files
SYNOPSIS
Path <dir1 .. dir10> ADD RESET SHOW
DESCRIPTION
The Path command lets you add directories to the places
AmigaDOS looks for executable programs. By default AmigaDOS
looks in the current directory, and then in the C: logical
device (set by using Assign). You can add directories to
search between these two points by using Path. You can add
directories using the ADD switch, you can RESET the path to
the default with the RESET switch, and using SHOW or simply
typing Path with no arguments displays the current search
path.
EXAMPLES
Path ; show the current path
Path ADD df1: df2: ; add drives df1: and df2: to the search
path
Path RESET df1: df2: ; first reset the path, and then
add drives df1 and df2:
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Prompt - set the current CLI prompt
SYNOPSIS
Prompt "NEW PROMPT"
DESCRIPTION
Prompt sets a new prompt for the CLI. If you use Prompt
with no argument, it resets the cli prompt to the default
prompt. ARP's prompt recognizes two special characters %N,
which will be displayed as the current process number, and
%p, which will be displayed as the current directory. If
you use %p in a prompt string, successive CD will also
change the prompt. The total length of a prompt string,
including the directory name, is limited to 69 characters.
This is a CLI limitation which ARP must currently struggle
against.
EXAMPLE
Prompt "%N %p"
If the current directory is Workbench: this prompt string
will display
1 Workbench:>
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Protect - To set files protection status
SYNOPSIS
Protect "FILES" FLAGS <QUIET>
DESCRIPTION
Protect is used to set the protection level of a file or
files. You may set the protection level for multiple files,
since this command, like most ARP commands, accepts
wildcards. The various flags that may be set are R=Reads
allowed W=Writes allowed, E=Execution allowed, D=Deletes
allowed. If you omit an option flag in the Protect command,
Protect will disallow that operation on the file. If you
use wildcards, protect will display the file being altered,
and the protection level it is being set to. If you use the
QUIET switch, then Protect will not display this
information.
EXAMPLE
Protect *.c RWE ; keep all files ending in ".c"
from being deleted
BUGS
Note that the current version of AmigaDOS only checks the
status of the Delete flag for a file. You may set/clear the
other flags with this command, but AmigaDOS will ignore
them.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Quit - Exit from a batch file with the given error code.
SYNOPSIS
Quit <optional error code>
DESCRIPTION
Quit forces an exit from the currently executing batch file.
If given a numeric argument, it will return this as it's own
return code.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Relabel - Change the name of a disk.
SYNOPSIS
Relabel DRIVE NewName
DESCRIPTION
You use Relabel to rename a disk. That's about all there is
to it.
EXAMPLE
Relabel DF0: "MyWorkbench" - changes the name of the disk
in df0: to MyWorkbench.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Rename - To rename or move files and directories.
SYNOPSIS
Rename FILE TO FILE or directory.
DESCRIPTION
Rename changes the names of your files. If the file already
exists, or if you attempt to Rename a file from one disk
device to another, Rename will fail. You may use wildcards
to move many files from one filename to another, or you may
use wildcards to move many files from one directory to
another. Note that using Rename to move files is quicker and
cleaner than using Copy and then delete.
EXAMPLE
Given a disk with the files CA CB and CC on it, you want to
rename them all to be BA BB and BC. The following rename
command will perform this task.
Rename c* B*
On the other hand, if you want to move all the files from
the current directory to the directory Save_Me you would use
this form of the command:
Rename * to Save_Me
In cases like these two, Rename will display the names of
the files it is working on, unless you specify the QUIET
switch to Rename.
NOTE
When renaming with wildcards, please only use #? or * and
not the other wildcard characters, until V1.1 of ARP, or
the results may not be what you expected.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Skip - Skip to the appropriate label.
SYNOPSIS
Skip <optional labelname>
DESCRIPTION
Skip moves the currently executing BATCH file ahead until it
finds a lab declaration which matches its own argument. If
Skip is used without an argument, it looks for a Lab without
an argument. Note that it is not possible to skip backwards
in batch files.
EXAMPLE
Skip Dodah ; skip to Lab Dodah
By using the idiom "Skip ?", you can request a user to give
you a label, and jump to that portion of the batch file.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Sort - Sort a file
Synopsis
Sort FROM <file> TO <file> <start col> <for width> <case
sensitive>
DESCRIPTION
Sort attempts to remedy the defects of the AmigaDOS sort
command. It sorts text files, and you may specify, using
the CASE keyword, whether or not the sort is case sensitive.
The default is to ignore case. You may specify a column to
start sorting at, and/or the number of characters per line
to examine during the sort (the width). Unlike the AmigaDOS
sort command, this program is quite fast even for very large
files, and it will not crash the Amiga if your file is too
large to sort, it simply informs you that it cannot sort
your file. This is not likely to happen, since Sort can
handle most files that will fit into the memory of the
computer.
Example
list >listfile
sort listfile colstart 32
Gives a listing of all files sorted by time (i.e., from the
earliest to the latest).
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Stack - Set or display the current stack size.
SYNOPSIS
Stack <amount>
DESCRIPTION
Most programs require more stack than the default setting of
the Amiga's stack will give them. You can use this command
to display the current amount of stack (by using Stack
without an argument), or you can change the current amount
of stack by providing an integer argument to stack.
EXAMPLE
Stack 10240 ; obtain a good healthy stack for programs
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Status - Display the currently running CLI processes
SYNOPSIS
Status <optional task number> FULL TCB CLI
DESCRIPTION
The most common use of Status is to find what background
processes are still executing, this can be in preparation to
sending them a signal with Break, or to find out if all your
programs are completed before turning of the computer. The
various options to this command display information which
may or may not be useful, depending on your needs. The
default behaviour of Status is to display the CLI numbers
and names of all currently active processes. You can get
information on a specific process by typing Status <task
number>.
EXAMPLE
Status FULL ; find out everything about all executing
processes.
Page 1 (printed 10/6/87)
ARP(REL1) ARP User's Manual ARP(REL1)
NAME
Type - Type a file, possibly with line numbers or in hex.
SYNOPSIS
Type File < upto 15 files> TO file OPT H N
DESCRIPTION
Type displays a file on the current window, or, if a TO
argument is supplied, to a file. With the ARP version of
Type, you can type many files with one TYPE command, and use
wildcards as well. Note that due to this enhancement of
Type it is possible to dispense with Join, since Type can do
Join's job as well as its own. You can type a file with
line numbers by giving it the option N. If you use option
H, you will get a hex dump of the file.
EXAMPLE
Type Type OPT H ; Type a binary file in hex.
Page 1 (printed 10/6/87)
During the last phase of beta-testing, one of our testers found a
problem when using the ARP assign after having used the original
BCPL assign to create an assigned name in Ram:, which may cause a
GURU when you use assign LIST. We have never seen this problem
except when mixing BCPL and ARP assign; you will probably not
have any problems once the BCPL version is removed from your
diskettes.
BUG (10/14/87) --- "Type" has been temporarily yanked, a bug was
found that could cause a GURU with large files or many files using
wildcards. Use "Join" for now.
ARP is a freely redistributable program, though the ARP Authors
have retained Copyright on the software. We encourage you to give it
to friends and make its use as widespread as possible. We request
that you distribute this diskette unmodified, to help us insure that
anyone getting an "ARP" diskette has the real thing.
For BBS distribution, we will release ARC files with most of the
contents of this diskette shortly; please re-distribute these
ARC files rather than creating your own ARC.
For users groups and other vendors of PD diskettes, we request that
you purchase one original ARP diskette from the address below, for
$5 check or money order (after Dec 31 '87 please send an SASE to
verify we are still supporting ARP before sending any $$$). This
is to insure that you will have a clean copy of the most recent
release of ARP. Any individual wanting to get a copy of the most
recent ARP diskette may also do so directly from ARP Support for
$5, which will also get you on the ARP mailing list for update
notification; remember to send an SASE for verification
after 12/31/87.
Also for PD diskette distributors, if you want to use the ARP logo for
diskette labels, these are NOT freely redistributable; you must purchase
them directly from ARP Support. We have not determined the price
for this yet; likely it will be $0.50 apiece for a serialized label
with mail-in registration card.
For commercial developers, we encourage you to use arp.library in
your programs, and to include the ARP CLI commands as well. Also,
we encourage you to use the ARP logo in your packaging; you can
get stats from the artist at cost. We will have a programmers
diskette available RSN, which you can get from ARP support for $5;
most of the same information will be available as ARC files on BBS's
as well.
Contact us at the address below for details:
ARP Support
c/o Microsmiths, Inc
PO Box 561
Cambridge, MA 02140
BIX: cheath CIS: 74216,2117
These are some of the people that have helped make ARP a reality:
Scott Ballantyne, who did much of the work developing arp.library,
and many of the command replacements, and maintained interest in
the ARP project during spring '87 when my interest had waned.
Without Scott, there would be no ARP.
Harold W. Norris, who coined the term "ARP" in the early BIX
discussions of ARP.
Chuck McManis, who implemented Assign and Info in C, tackling the
tough BCPL data structures I didn't want to touch!
Willy Langeveld, who helped out with wildcards and several other
C programs.
John Toebes, who wrote the final wildcard functions which solved
our dilemma of which sort of wildcards to support. John also
provided inspiration that the ARP project could be a sucess by
his interest in developing a faster filesystem.
Les Noland, who is the ultimate Beta-Tester. If you ever want
something smoked out to the max, Les is your man.
Larry Phillips, our CIS connection.
Brian Dueck, who is working on Modula-II library bindings.
Chris Nicotra, who is working on Manx C library bindings.
David Milligan, my old pal, another Beta tester.
Joanne Dow, who has been subjected to N^15 different versions of
arp.library. Honest, Joanne, any new versions will be backwards
compatible with this one!
Bill Hawes, who is working on a replacement for dos.library, the
Third Pillar in the quest for a New DOS.
Andy Finkel at Commodore, who we have been pestering for the past
9 months trying to get Commodore to pick up ARP for use on the
WorkBench diskette, and without whom we would probably not have
implemented ARP in a manner to attempt to be 100% backwards compatible
with the original BCPL command programs.
Many other people I'm sure I've forgotten as I drift off to sleep
after sealing the write-protect notch on V1.0 of ARP.
To all these people, thank you!
...cheath
To install Arp, use the batch file "ExecuteMe". This batch program
will copy all of the ARP executables to your current C: directory,
as well as copying ARPLIB to "libs:arp.library".
We reccommend you try ARP first with a scratch-diskette duplicate
of your normal WorkBench CLI disk before subjecting your valuable
work to the new operating environment; we expect you should have
no problems, but if you do we'd rather you not loose any irreplacable
data.
The most likely problem you will have with ARP is that you will
not have arp.library in your system disk libs: directory, which
will cause all the ARP programs to display a recoverable alert
that looks rather like a GURU. When you get an 036.xxx alert
number, this is what has happened; to solve this problem, you
need to copy the library into the currently used libs: directory.
A similar situation may occur in your Startup-Sequence, if you
reassign your C: directory before setting up Libs: to a directory
that has arp.library in it. In this case, you must either make sure
there is a copy of arp.library in the libs: dir of the boot disk,
or you must do the Assign of libs: before changing C:
Thank you for using ARP, once you get over the initial hurdles
we think you'll be glad you went through the effort of setting it
up!
V1.02 of ARP Oct 17 '87
This revision replaces TYPE, JOIN and ASSIGN from the original
release, all three of which could cause a GURU. In this release
all three are fixed; there are no other known problems at this
time.
...cheath
We plan to continue to enhance ARP, finishing off the commands we could
not complete for the V1.0 release of ARP, and solving any problems that
arise when ARP gets into widespread use. We will appreciate your
reporting any problems you have using ARP so we can try to solve them.
You may report problems to the address below:
Arp Support
c/o Microsmiths, Inc
PO Box 561
Cambridge, MA 02140
BIX: cheath CIS: 74216,2117